Multinational corporations deploying and using business intelligence or decision support systems today incur significant costs and time delays in developing report templates and in writing programs to meet their needs. As corporations expand their requirements for tracking performance, they are faced with a growing requirement to take account, not only of language, but of the location where reports will be used—the combination being known as a locale. There are many aspects to the problem, all of which must be managed in order to have a successful solution. These include:                Data encoding—this issue has generally been dealt in the computing industry through the use of Unicode and is not considered further here.        Locale—this includes the display, in a language and format of the users' choice, of reports and of the user interfaces of the application that defines and produces them.        Data storage—while Unicode provides a data-encoding format for storing data in many languages, it does not address the data management issues. Of primary importance is how the database is structured to support multilingual data. A general solution is to translate specific textual data and allow the user to select their language (or locale) of choice.        Application strings—in the context of reporting, this refers to items that are not derived from the database content, such as the title of a report.                    Data formatting—data formats for time, dates, currency, etc, vary between locales. For example, in most English locales one thousand Japanese yen is presented as ¥1,000.00, whereas in France the same amount is generally presented as 1 000,00 ¥.                        
Many business intelligence applications rely on the proper identification of the locale and use the locale information to determine language and other location specific parameters for the production of reports. The locale is also used to customize application behavior. For example, when the locale-sensitive date format function needs to format a date, it uses the convention appropriate to the current locale. If the locale is English, it uses the word “Monday” and if it is French, it uses the word “Lundi”. Thus a locale identifies a language used in a particular region for the purposes of localization. A locale also identifies a group of users who have similar cultural and linguistic expectations for user interfaces (and the kinds of data they process).
In the past many of the issues related to the preparation of reports in multiple languages have been ignored or in some cases have been addressed through the expensive option of custom application programming. Therefore, the preparation of reports in multiple locales remains problematic and expensive.
For the foregoing reasons, there is a need for improved support for multiple languages for multinational corporations requiring a standardized reporting solution.